Generally-recognized Small Computer System Interface ("SCSI") standards of the American National Standards Institute (ANSI X3.131-1986) specify the electrical, mechanical and logical characteristics of an input/output (I/O) bus interface for coupling physically small computers with each other and with peripheral devices, for example, disk drives, tape drives, printers, compact disk read-only memories ("CD-ROM's"), and scanners.
Essentially, the SCSI standards specify an I/O bus, commonly called a "SCSI bus." The bus does not require a separate bus controller; instead, a SCSI bus protocol specified by the standards is implemented distributively within central processing units ("CPU's") or, often, host adapters of computers on the bus, and by controllers of peripheral devices on the bus.
The SCSI bus protocol facilitates information transfer between devices connected to the bus. The bus protocol includes an addressing scheme for identifying the devices, and specifies connection-control signals for arbitrating for control of the SCSI bus and establishing a communication link with the intended recipient or target of an information transfer on the bus. Where the host computer is the initiator and a peripheral device on the SCSI bus is the target, this latter process is known in the standards as SELECTION. In certain situations, an information transfer may be interrupted, and, at a later time, the target can reselect the host computer to continue the transfer. This process is called RESELECTION.
Since, generally speaking, any peripheral devices having a controller complying with the SCSI standards can be connected to a SCSI bus, the standards have lead to a proliferation of the types and sources of commercially-available peripheral devices. Moreover, computer systems complying with the standards can be configured and reconfigured with ease by, e.g., end users, to meet specific computing needs and incorporate evolving peripheral device technologies.
The SCSI standards are available from the American National Standards Institute, Inc., New York, N.Y., U.S.A., and are incorporated herein by reference.
While conventionally-implemented SCSI bus interfaces are suitable for their intended purposes, they generally are limited to supporting no more than seven peripheral devices. Heretofore, this limit on the number of peripheral devices has not presented a significant drawback. As systems employing SCSI buses have expanded and become more powerful, however, the need for more storage capacity and the ability to connect to more peripheral devices has grown. For instance, the need for more storage is often particularly acute in multi-user computer systems.
A known approach to increasing the number of SCSI peripheral devices connectable to a SCSI bus employs multiple SCSI ports on the computer, each connected to a separate SCSI bus. Unfortunately, as computers have shrunk in physical size, the space on the computer housing available for such ports has become increasingly limited. Indeed, many computer manufacturers have reduced the number of ports provided on the housing, and do not provide multiple SCSI ports in their standard computer configurations. In addition, this approach often requires additional host adapters to control the information transfer in accordance with the standards.
Alternatively, "juke box" arrangements are known, in which a controller supports a plurality of peripheral devices. Unfortunately, such controllers are dedicated units for supporting specific types of peripheral devices, and can not be used with other types of devices. For example, a known type of juke box supports only tape drives.
Accordingly, it would be desirable to provide an improved, general-purpose interface that can support a greater number of peripheral devices while maintaining reliable connectivity with a host computer. Desirably, also, the improved interface should operate in accordance with SCSI standards.